package com.foreverwin.mes.so.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.activerecord.Model;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * <p>
 * 工单派工明细表
 * </p>
 *
 * @author Syngna
 * @since 2020-02-06
 */
@TableName("Z_SHOP_ORDER_DISPATCH_DETAIL")
public class ShopOrderDispatchDetail extends Model<ShopOrderDispatchDetail> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "HANDLE", type = IdType.INPUT)
    private String handle;
    /**
     * 站点
     */
    @TableField("SITE")
    private String site;
    /**
     * 工单编号
     */
    @TableField("SHOP_ORDER_DISPATCH_BO")
    private String shopOrderDispatchBo;
    /**
     * 工单编号
     */
    @TableField("SHOP_ORDER")
    private String shopOrder;
    /**
     * 设备
     */
    @TableField("RESRCE")
    private String resrce;
    /**
     * 物料HANDLE
     */
    @TableField("ITEM_BO")
    private String itemBo;
    /**
     * 派工任务号
     */
    @TableField("DISP_TASK_NO")
    private String dispTaskNo;
    /**
     * 子任务号
     */
    @TableField("DISP_TASK_CHILD_NO")
    private String dispTaskChildNo;

    /**
     * 序号
     */
    @TableField("SEQ")
    private Integer seq;
    /**
     * 日排程数量
     */
    @TableField("SCHEDULE_QTY")
    private BigDecimal scheduleQty;
    /**
     * 计划开始时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("PLANNED_START_DATE")
    private Date plannedStartDate;
    /**
     * 计划完成时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("PLANNED_COMP_DATE")
    private Date plannedCompDate;
    /**
     * 派工时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("DISP_DATE")
    private Date dispDate;
    /**
     * 任务下发状态
     */
    @TableField("STATUS")
    private String status;
    /**
     * 配方状态
     */
    @TableField("RECIPE_STATUS")
    private String recipeStatus;
    /**
     * 创建人
     */
    @TableField("CREATOR")
    private String creator;
    /**
     * 更新人
     */
    @TableField("UPDATER")
    private String updater;
    /**
     * 创建日期
     */
    @TableField("CREATED_DATE_TIME")
    private Date createdDateTime;
    /**
     * 更新日期
     */
    @TableField("MODIFIED_DATE_TIME")
    private Date modifiedDateTime;

    @TableField("MSG")
    private String msg;

    @TableField(exist = false)
    private String unitOfMeasure;

    @TableField(exist = false)
    private String itemDescription;

    @TableField(exist = false)
    private String resourceDescription;

    @TableField(exist = false)
    private String resourceBatch;

    public String getHandle() {
        return handle;
    }

    public void setHandle(String handle) {
        this.handle = handle;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }

    public String getShopOrderDispatchBo() {
        return shopOrderDispatchBo;
    }

    public void setShopOrderDispatchBo(String shopOrderDispatchBo) {
        this.shopOrderDispatchBo = shopOrderDispatchBo;
    }

    public String getShopOrder() {
        return shopOrder;
    }

    public void setShopOrder(String shopOrder) {
        this.shopOrder = shopOrder;
    }

    public String getResrce() {
        return resrce;
    }

    public void setResrce(String resrce) {
        this.resrce = resrce;
    }

    public String getItemBo() {
        return itemBo;
    }

    public void setItemBo(String itemBo) {
        this.itemBo = itemBo;
    }

    public String getDispTaskNo() {
        return dispTaskNo;
    }

    public void setDispTaskNo(String dispTaskNo) {
        this.dispTaskNo = dispTaskNo;
    }

    public String getDispTaskChildNo() {
        return dispTaskChildNo;
    }

    public void setDispTaskChildNo(String dispTaskChildNo) {
        this.dispTaskChildNo = dispTaskChildNo;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public BigDecimal getScheduleQty() {
        return scheduleQty;
    }

    public void setScheduleQty(BigDecimal scheduleQty) {
        this.scheduleQty = scheduleQty;
    }

    public Date getPlannedCompDate() {
        return plannedCompDate;
    }

    public void setPlannedCompDate(Date plannedCompDate) {
        this.plannedCompDate = plannedCompDate;
    }

    public Date getPlannedStartDate() {
        return plannedStartDate;
    }

    public void setPlannedStartDate(Date plannedStartDate) {
        this.plannedStartDate = plannedStartDate;
    }

    public Date getDispDate() {
        return dispDate;
    }

    public void setDispDate(Date dispDate) {
        this.dispDate = dispDate;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRecipeStatus() {
        return recipeStatus;
    }

    public void setRecipeStatus(String recipeStatus) {
        this.recipeStatus = recipeStatus;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public Date getCreatedDateTime() {
        return createdDateTime;
    }

    public void setCreatedDateTime(Date createdDateTime) {
        this.createdDateTime = createdDateTime;
    }

    public Date getModifiedDateTime() {
        return modifiedDateTime;
    }

    public void setModifiedDateTime(Date modifiedDateTime) {
        this.modifiedDateTime = modifiedDateTime;
    }

    public String getUnitOfMeasure() {
        return unitOfMeasure;
    }

    public void setUnitOfMeasure(String unitOfMeasure) {
        this.unitOfMeasure = unitOfMeasure;
    }

    public String getItemDescription() {
        return itemDescription;
    }

    public void setItemDescription(String itemDescription) {
        this.itemDescription = itemDescription;
    }

    public String getResourceDescription() {
        return resourceDescription;
    }

    public void setResourceDescription(String resourceDescription) {
        this.resourceDescription = resourceDescription;
    }

    public String getResourceBatch() {
        return resourceBatch;
    }

    public void setResourceBatch(String resourceBatch) {
        this.resourceBatch = resourceBatch;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public static final String HANDLE = "HANDLE";

    public static final String SITE = "SITE";

    public static final String SHOP_ORDER = "SHOP_ORDER";

    public static final String SHOP_ORDER_DISPATCH_BO = "SHOP_ORDER_DISPATCH_BO";

    public static final String RESRCE = "RESRCE";

    public static final String ITEM_BO = "ITEM_BO";

    public static final String DISP_TASK_NO = "DISP_TASK_NO";

    public static final String DISP_TASK_CHILD_NO = "DISP_TASK_CHILD_NO";

    public static final String SCHEDULE_QTY = "SCHEDULE_QTY";

    public static final String PLANNED_COMP_DATE = "PLANNED_COMP_DATE";

    public static final String DISP_DATE = "DISP_DATE";

    public static final String STATUS = "STATUS";

    public static final String RECIPE_STATUS = "RECIPE_STATUS";

    public static final String CREATOR = "CREATOR";

    public static final String UPDATER = "UPDATER";

    public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";

    public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";

    public static final String STATUS_RELEASABLE = "RELEASABLE";

    public static final String STATUS_RELEASED = "RELEASED";

    public static final String STATUS_FAILED = "FAILED";

    @Override
    protected Serializable pkVal() {
        return this.handle;
    }

    @Override
    public String toString() {
        return "ShopOrderDispatchDetail{" +
                "handle = " + handle +
                ", site = " + site +
                ", shopOrder = " + shopOrder +
                ", resrce = " + resrce +
                ", itemBo = " + itemBo +
                ", dispTaskNo = " + dispTaskNo +
                ", dispTaskChildNo = " + dispTaskChildNo +
                ", scheduleQty = " + scheduleQty +
                ", plannedCompDate = " + plannedCompDate +
                ", dispDate = " + dispDate +
                ", status = " + status +
                ", recipeStatus = " + recipeStatus +
                ", creator = " + creator +
                ", updater = " + updater +
                ", createdDateTime = " + createdDateTime +
                ", modifiedDateTime = " + modifiedDateTime +
                "}";
    }
}